#ifndef GOODS_H
#define GOODS_H

struct good
{
    char path[128];
    char name[24];
    int num;
    float price;
    struct good *prev, *next;
};

// 初始化链表
struct good * init_list();
// 将商品列表写入文件
void save_goods_to_file(struct good * head);
// 在链表尾部插入新节点
int insert_tail(struct good * head, char name[24], int num, float price);
// 根据商品名称查询节点
struct good * query_node(struct good * head, const char * name);
// 给指定商品设置路径
int set_path(struct good * head, const char * name, const char * path);
// 根据商品名称删除节点
int delete_by_name(struct good * head, const char * name);
// 遍历链表并打印信息
int traverse_list(struct good * head);
// 释放链表
int free_list(struct good * head);

#endif